﻿var api = "../Api/Default.aspx";

function loadProvs() {
    var e = $("#comboProvincias");
    e.html('Cargando...');
    
    Ax.post(api, { q: "prov"}, 
        function(resul){
            var e = $("#comboProvincias");
            e.html('');
            for(var i in resul.values)
            {
                var val = resul.values[i];
                $("<option>")
                    .attr("value", val.Codprov)
                    .html(val.Descripcion)
                    .appendTo(e);
            }
            e.val("1");
        },
        function(error){
            setTimeout(loadProvs, 1000);
        }
    );  
}

function loadIVA() {
    var e = $("#comboIVA");
    e.html('Cargando...');
    
    Ax.post(api, { q: "iva"}, 
        function(resul){
            var e = $("#comboIVA");
            e.html('');
            for(var i in resul.values)
            {
                var val = resul.values[i];
                $("<option>")
                    .attr("value", val.value)
                    .html(val.name)
                    .appendTo(e);
            }
            e.val("1");
        },
        function(error){
            setTimeout(loadIVA, 1000);
        }
    );  
}

function vUserName() {
    var e = $("#TextBoxAdminName");
    var t = e.data('timeout');
    
    s(e, 2);
    
    console.log("ASDF");
    
    if(typeof t !== 'undefined') {
        clearTimeout(t);   
    }
    
    e.data('timeout', setTimeout(function() {
        var e = $("#TextBoxAdminName");
        var val = e.val();
        
        
        Ax.post(api, { q: "vuser", arg: val}, 
            function(resul){
                var e = $("#TextBoxAdminName");
                s(e, resul.value, "El usuario ya existe");
            },
            function(error){
                console.log(s);
                if(error.type == "excepcion") {
                    s(e, 0, error.error);
                } 
                else {
                    s(e, -1, error.error);                
                }
            }
        );    
    }, 1000));
}

function validateButtons() {
    $("a[data-validfields]").each(function(){
        var e = $(this);
        var fields = e.data('validfields');
        
        var p = e.parent();
        
        var invalids = p    
            .find("[data-valid]")
            .filter("[data-verif!='1']");
            
        if(invalids.length == 0)
            e.removeClass("disabled");
        else
            e.addClass("disabled");
    });
}

$(document).ready(function(){
    // Combo box IVA
    loadIVA();
    
    // Combo box Provincias
    loadProvs();
    
    // Input (date)
    $("#date1").datepicker();
    
    // Existencia de usuarios
    
    $("#TextBoxAdminName").on('change keyup',function() {
        vUserName();
    });
    
    // Páginas
    
    $("div.container-fluid[data-page!=1]").each(function() {
        var e = $(this);
        
        e.css("display", "none");
    });
    
    $("div.container-fluid[data-page] a.btn").each(function() {
        var b = $(this);

        b.on('click', function() {
            var e = $(this);
            
            if(e.attr("class").indexOf("disabled") !== -1)
                return;
            
            var page = e.data('page');
            $("div[data-page]").css("display", "none");
            $("div[data-page="+page+"]").css("display", "block");
        });
    });
    
    // Botones
    $("a[data-validfields]").each(function(){
        var e = $(this);
        e.addClass("disabled");
    });
    
    setInterval(function() {
        validateButtons();
    }, 700);
    
});